#!/bin/bash

set +e

usage(){
  echo "Usage: builder <golang image:version> <code path> <code release tag> <main.go path> <binary name>"
  echo "e.g: builder golang:1.14.7 github.com/helm/chartmuseum v0.12.0 cmd/chartmuseum chartm"
  exit 1
}

if [ $# != 5 ]; then
  usage
fi

GOLANG_IMAGE="$1"
GIT_PATH="$2"
CODE_VERSION="$3"
MAIN_GO_PATH="$4"
BIN_NAME="$5"

set -e

cd `dirname $0`
cur=$PWD

mkdir -p binary
rm -rf binary/$BIN_NAME || true
cp compile.sh binary/
cp *.patch binary/

docker run -it --rm -v $cur/binary:/go/bin --name golang_code_builder $GOLANG_IMAGE /bin/bash /go/bin/compile.sh $GIT_PATH $CODE_VERSION $MAIN_GO_PATH $BIN_NAME

#Clear
#docker rm -f golang_code_builder
